package cn.csc.module.product.api.sku;

import cn.csc.framework.common.pojo.CommonResult;
import cn.csc.module.product.api.sku.dto.SkuDTO;
import cn.csc.module.product.enums.ApiConstants;
import io.swagger.annotations.Api;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;

import java.math.BigInteger;
import java.util.List;

/**
 * sku
 * @author yequnli
 * @version 1.0
 * @date 2024/2/2 12:43
 * @modify
 */
@FeignClient(name = ApiConstants.NAME) // TODO fallbackFactory =
@Api(tags = "RPC 服务 - sku")
public interface SkuApi {

    String PREFIX = ApiConstants.PREFIX + "/sku";

    /**
     * 查询sku信息
     * @param id 参数
     * @return
     */
    @PostMapping(value = PREFIX + "/getSku")
    CommonResult<SkuDTO> getSku(@RequestParam("id") BigInteger id);

    /**
     * 通过sku编号列表获得sku详情列表
     *
     * @param skuIds sku编号列表
     * @return sku详情列表
     */
    @GetMapping(value = PREFIX + "/getSkuList")
    CommonResult<List<SkuDTO>> getSkuList(@RequestParam("skuIds") List<BigInteger> skuIds);


}
